package net.starwifi.duobao.service;



import net.starwifi.duobao.plugin.PaymentPlugin;
import net.starwifi.duobao.plugin.StoragePlugin;

import java.util.List;

/**
 * Service - 插件
 * 
 * @author ruoo
 * @version 1.0
 */
public interface PluginService {



	/**
	 * 获取存储插件
	 * 
	 * @return 存储插件
	 */
	List<StoragePlugin> getStoragePlugins();


	/**
	 * 获取存储插件
	 * 
	 * @param isEnabled
	 *            是否启用
	 * @return 存储插件
	 */
	List<StoragePlugin> getStoragePlugins(boolean isEnabled);


	/**
	 * 获取存储插件
	 * 
	 * @param id
	 *            ID
	 * @return 存储插件
	 */
	StoragePlugin getStoragePlugin(String id);




	/**
	 * 获取支付插件
	 *
	 * @return 支付插件
	 */
	List<PaymentPlugin> getPaymentPlugins();


	/**
	 * 获取支付插件
	 *
	 * @param isEnabled
	 *            是否启用
	 * @return 支付插件
	 */
	List<PaymentPlugin> getPaymentPlugins(boolean isEnabled);


	/**
	 * 获取支付插件
	 *
	 * @param id
	 *            ID
	 * @return 支付插件
	 */
	PaymentPlugin getPaymentPlugin(String id);


}